Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 vector-feature-night-mode-enabled skin-theme-clientpref-os vector-sticky-header-enabled" lang="fr" dir="ltr"><head>
<meta charset="UTF-8">
<title>Insert (SQL)</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://fr.wikipedia.org/wiki/Insert_(SQL)"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Insert_SQL rootpage-Insert_SQL skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Insert (SQL)</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="fr" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr"><p><b><code>INSERT</code></b> est une commande <a href="Structured_Query_Language" title="Structured Query Language">SQL</a> qui ajoute un ou plusieurs <a href="https://fr.wiktionary.org/wiki/tuple" class="extiw external" title="wikt:tuple">tuples</a> dans une <a href="Table_(base_de_donn%C3%A9es)" title="Table (base de données)">table</a> d'une <a href="Base_de_donn%C3%A9es_relationnelle" title="Base de données relationnelle">base de données relationnelle</a>.
</p>

<div class="mw-heading mw-heading2"><h2 id="Forme_basique">Forme basique</h2></div>
<p>La commande <b>INSERT</b> a la syntaxe suivante&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="k">table</span><span class="w"> </span><span class="p">(</span><span class="n">column1</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="n">column2</span><span class="p">,</span><span class="w"> </span><span class="n">column3</span><span class="w"> </span><span class="p">...</span><span class="w"> </span><span class="p">])</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="n">value1</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="n">value2</span><span class="p">,</span><span class="w"> </span><span class="n">value3</span><span class="w"> </span><span class="p">...</span><span class="w"> </span><span class="p">])</span>
</pre></div>
<p>Le nombre de colonnes doit être identique au nombre de valeurs. Si une colonne n'est pas spécifiée, sa valeur par défaut lui sera affectée. Les valeurs insérées doivent respecter toutes les contraintes tel que les <a href="Cl%C3%A9_%C3%A9trang%C3%A8re" title="Clé étrangère">clés étrangères</a>, <a href="Cl%C3%A9_primaire" title="Clé primaire">clés primaires</a>, et les colonnes <b>NOT NULL</b>. Si la commande contient une erreur de syntaxe, ou si une contrainte n'est pas respectée, les valeurs ne sont pas insérées et une erreur est rapportée.
</p><p>Exemple&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">film_cast</span><span class="w"> </span><span class="p">(</span><span class="n">firstname</span><span class="p">,</span><span class="w"> </span><span class="n">lastname</span><span class="p">)</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'Raoul'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Duke'</span><span class="p">)</span>
</pre></div>
<p>Une écriture plus concise existe, sans nommer les colonnes, insérant les valeurs dans le même ordre que les colonnes de la table. Il n'est pas nécessaire de préciser toutes les colonnes, les colonnes restantes prendront leurs valeurs par défaut.
</p><p>Syntaxe&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="k">table</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="n">value1</span><span class="p">,</span><span class="w"> </span><span class="p">[</span><span class="n">value2</span><span class="p">,</span><span class="w"> </span><span class="p">...</span><span class="w"> </span><span class="p">])</span>
</pre></div>
<p>L'exemple précédent peut donc être réecrit, si et seulement si les deux premières colonnes de la table <b>film_cast</b> sont <b>firstname</b> et <b>lastname</b>:
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">film_cast</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'Raoul'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Duke'</span><span class="p">);</span>
</pre></div>
<div class="mw-heading mw-heading2"><h2 id="Formes_avancées"><span id="Formes_avanc.C3.A9es"></span>Formes avancées</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Insertion_multiples">Insertion multiples</h3></div>
<p>Depuis SQL-92&nbsp;<a href="https://en.wikipedia.org/wiki/SQL-92" class="extiw external" title="en:SQL-92"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;SQL-92&nbsp;»">(en)</span></a> il est possible d'insérer plusieurs tuples en une seule requête&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="k">table</span><span class="w"> </span><span class="p">(</span><span class="k">column</span><span class="o">-</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="p">[</span><span class="k">column</span><span class="o">-</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="p">...])</span>
<span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'value-1a'</span><span class="p">,</span><span class="w"> </span><span class="p">[</span><span class="s1">'value-1b'</span><span class="p">,</span><span class="w"> </span><span class="p">...]),</span>
<span class="w"> </span><span class="p">(</span><span class="s1">'value-2a'</span><span class="p">,</span><span class="w"> </span><span class="p">[</span><span class="s1">'value-2b'</span><span class="p">,</span><span class="w"> </span><span class="p">...]),</span>
<span class="w"> </span><span class="p">...</span>
</pre></div>
<p>Cette fonctionnalité est supportée par <a href="IBM_Db2" title="IBM Db2">DB2</a>, <a href="Microsoft_SQL_Server" title="Microsoft SQL Server">SQL Server</a> (Depuis la version 10.0), <a href="PostgreSQL" title="PostgreSQL">PostgreSQL</a> (depuis la version 8.2), <a href="MySQL" title="MySQL">MySQL</a>, <a href="SQLite" title="SQLite">SQLite</a> (depuis la version 3.7.11) et <a href="H2_(base_de_donn%C3%A9es)" title="H2 (base de données)">H2</a>.
</p><p>Exemple (considérant que 'firstname' et 'lastname' sont les deux seules colonnes de la table 'film_cast'):
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">film_cast</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'Raoul'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Duke'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'Dr.'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Gonzo'</span><span class="p">)</span>
</pre></div>
<p>Les insertions multiples sont particulièrement intéressantes en matière de performances. Il est donc conseillé pour une application qui doit insérer beaucoup lignes par seconde d'utiliser des requêtes multiples pour réduire le nombre de requêtes effectuées et la charge du serveur. L'utilisation de requête multiples permet d'insérer plus de tuples qu'une série d'insertions simples pour un temps donné.
</p><p>Afin d'insérer plusieurs tuples en utilisant MS SQL, la construction suivante est utilisable&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">film_cast</span>
<span class="k">SELECT</span><span class="w"> </span><span class="s1">'Raoul'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Duke'</span>
<span class="k">UNION</span><span class="w"> </span><span class="k">ALL</span>
<span class="k">SELECT</span><span class="w"> </span><span class="s1">'Dr.'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Gonzo'</span>
</pre></div>
<p>Cependant ce n'est pas une requête SQL valide selon le standard SQL:2023&nbsp;<a href="https://en.wikipedia.org/wiki/SQL:2023" class="extiw external" title="en:SQL:2023"><span class="indicateur-langue" title="Article en anglais&nbsp;: «&nbsp;SQL:2023&nbsp;»">(en)</span></a> dû à la sous requête SELECT incomplète.
</p><p>Il est aussi possible de le faire sous Oracle en utilisant la <a href="Table_DUAL" title="Table DUAL">table DUAL</a>:
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">film_cast</span>
<span class="k">SELECT</span><span class="w"> </span><span class="s1">'Raoul'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Duke'</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">DUAL</span>
<span class="k">UNION</span><span class="w"> </span><span class="k">ALL</span>
<span class="k">SELECT</span><span class="w"> </span><span class="s1">'Dr.'</span><span class="p">,</span><span class="s1">'Gonzo'</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">DUAL</span>
</pre></div>
<p>Une implémentation respectant les standards SQL:
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">film_cast</span>
<span class="k">SELECT</span><span class="w"> </span><span class="s1">'Raoul'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Duke'</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">LATERAL</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">t</span><span class="p">(</span><span class="k">c</span><span class="p">)</span>
<span class="k">UNION</span><span class="w"> </span><span class="k">ALL</span>
<span class="k">SELECT</span><span class="w"> </span><span class="s1">'Dr.'</span><span class="p">,</span><span class="s1">'Gonzo'</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">LATERAL</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">t</span><span class="p">(</span><span class="k">c</span><span class="p">)</span>
</pre></div>
<p>Oracle <a href="PL/SQL" title="PL/SQL">PL/SQL</a> supporte la syntaxe "INSERT ALL", dans laquelle les requêtes d'insertions multiples sont terminés par un SELECT<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>:
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">ALL</span>
<span class="k">INTO</span><span class="w"> </span><span class="n">film_cast</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'Raoul'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Duke'</span><span class="p">)</span>
<span class="k">INTO</span><span class="w"> </span><span class="n">film_cast</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'Dr.'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Gonzo'</span><span class="p">)</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">DUAL</span>
</pre></div>
<p>Avec la base de données <a href="Firebird_(base_de_donn%C3%A9es)" title="Firebird (base de données)">Firebird</a>, l'insertion multiple est possible grâce à la syntaxe&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">film_cast</span><span class="w"> </span><span class="p">(</span><span class="ss">"firstname"</span><span class="p">,</span><span class="w"> </span><span class="ss">"lastname"</span><span class="p">)</span>
<span class="k">SELECT</span><span class="w"> </span><span class="s1">'Raoul'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Duke'</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">RDB$DATABASE</span>
<span class="k">UNION</span><span class="w"> </span><span class="k">ALL</span>
<span class="k">SELECT</span><span class="w"> </span><span class="s1">'Dr.'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Gonzo'</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">RDB$DATABASE</span>
</pre></div>
<p>Cependant, Firebird restreint le nombre de tuples qui peuvent être insérés par cette syntaxe dû à la limite du nombre de contextes utilisables en une seule requête.
</p>
<div class="mw-heading mw-heading3"><h3 id="Copier_des_tuples_depuis_une_autre_table">Copier des tuples depuis une autre table</h3></div>
<p>Une seule requête INSERT peut aussi être utilisée pour récupérer des données depuis une autre table, les modifier si nécessaire, puis les insérer directement dans une table. Dans ce cas, une sous-requête est utilisée à la place de la clause VALUES&nbsp;:
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">film_cast2</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">firstname</span><span class="p">,</span><span class="w"> </span><span class="n">lastname</span><span class="w"> </span><span class="p">)</span>
<span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">firstname</span><span class="p">,</span><span class="w"> </span><span class="n">lastname</span>
<span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">film_cast</span>
<span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">firstname</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="p">(</span><span class="s1">'Raoul'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Dr.'</span><span class="p">)</span>
</pre></div>
<div class="mw-heading mw-heading2"><h2 id="Récupération_de_la_clef_primaire"><span id="R.C3.A9cup.C3.A9ration_de_la_clef_primaire"></span>Récupération de la clef primaire</h2></div>
<p>Il est souvent nécessaire d'obtenir la <a href="Cl%C3%A9_artificielle" title="Clé artificielle">cle primaire artificielle</a> qui a été auto-générée par le <a href="Moteur_de_base_de_donn%C3%A9es" title="Moteur de base de données">moteur de base de données</a> lors d'une insertion afin de l'utiliser dans des requêtes suivantes. Il existe, en fonction du moteur utilisé, différentes méthodes pour l'obtenir&nbsp;:
</p>
<ul><li>En utilisant une <a href="Proc%C3%A9dure_stock%C3%A9e" title="Procédure stockée">procédure stockée</a> spécifique au moteur de base de données tel que SCOPE_IDENTITY() en SQL Server, ou last_insert_rowid() en SQLite.</li></ul>
<ul><li>En utilisant une requête SELECT spécifique au moteur de base de données sur une table temporaire contenant le dernier tuple inséré. DB2 implémente cette fonctionnalité de la manière suivante&nbsp;:</li></ul>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span>
<span class="k">FROM</span><span class="w"> </span><span class="k">NEW</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">film_cast</span>
<span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'Raoul'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Duke'</span><span class="p">)</span>
<span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">t</span>
</pre></div>
<dl><dd>DB2 pour <a href="Z/OS" title="Z/OS">z/OS</a> implémente cette fonctionnalité de la manière suivante&nbsp;:</dd></dl>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="o">*</span>
<span class="k">FROM</span><span class="w"> </span><span class="k">FINAL</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="p">(</span>
<span class="w"> </span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">film_cast</span>
<span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'Raoul'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Duke'</span><span class="p">)</span>
<span class="p">)</span>
</pre></div>
<ul><li>En effectuant une requête <a href="Select_(SQL)" title="Select (SQL)">SELECT</a> après l'INSERT avec une fonction spécifique à la base de données qui renvoie la clef primaire générée pour la dernière insertion effectuée, tel que LAST_INSERT_ID() pour <a href="MySQL" title="MySQL">MySQL</a>.</li>
<li>En utilisant la syntaxe OUTPUT lors de la requête d'insertion, avec MS-SQL Server 2005 et MS-SQL Server 2008.</li>
<li>En utilisant le mot clé RETURNING avec <a href="Oracle_Database" title="Oracle Database">Oracle</a>&nbsp;:</li></ul>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">film_cast</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'Raoul'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Duke'</span><span class="p">)</span>
<span class="n">RETURNING</span><span class="w"> </span><span class="n">film_cast_id</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">v_pb_id</span>
</pre></div>
<ul><li>En utilisant le mot clef RETURNING avec <a href="PostgreSQL" title="PostgreSQL">PostgreSQL</a> (depuis la version 8.2). Le résultat est identique au résultat d'un <a href="Select_(SQL)" title="Select (SQL)">SELECT</a>.</li></ul>
<p><a href="Firebird_(base_de_donn%C3%A9es)" title="Firebird (base de données)">Firebird</a> utilise la même syntaxe, cependant la requête ne pourra insérer qu'un seul tuple<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">film_cast</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'Raoul'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Duke'</span><span class="p">)</span>
<span class="w"> </span><span class="n">RETURNING</span><span class="w"> </span><span class="n">film_cast_id</span>
</pre></div>
<ul><li>En utilisant la fonction IDENTITY() avec <a href="H2_(base_de_donn%C3%A9es)" title="H2 (base de données)">H2</a>&nbsp;:</li></ul>
<div class="mw-highlight mw-highlight-lang-sql mw-content-ltr" dir="ltr"><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="k">IDENTITY</span><span class="p">()</span>
</pre></div>
<div class="mw-heading mw-heading2"><h2 id="Déclencheurs_(Triggers)"><span id="D.C3.A9clencheurs_.28Triggers.29"></span>Déclencheurs (Triggers)</h2></div>
<p>Si des <a href="D%C3%A9clencheur" title="Déclencheur">déclencheurs</a> (triggers en anglais) sont définis sur la table dans laquelle la requête insère, ils seront exécutés dans le contexte de la requête. BEFORE INSERT permet la modification des valeurs qui devront être insérées, AFTER INSERT ne peut plus modifier les données mais peut être utilisé pour initier des actions sur d'autres tables.
</p>
<div class="mw-heading mw-heading2"><h2 id="Articles_connexes">Articles connexes</h2></div>
<ul><li><a href="Select_(SQL)" title="Select (SQL)">Select (SQL)</a></li>
<li><a href="Update_(SQL)" title="Update (SQL)">Update (SQL)</a></li>
<li><a href="Delete_(SQL)" title="Delete (SQL)">Delete (SQL)</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Notes_et_références"><span id="Notes_et_r.C3.A9f.C3.A9rences"></span>Notes et références</h2></div>
<div class="references-small decimal" style=""><div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="http://psoug.org/snippet/Oracle-PL-SQL-INSERT-ALL_589.htm"><cite style="font-style:normal;" lang="en">Oracle PL/SQL: INSERT ALL</cite></a>&nbsp;», <span class="italique">psoug.org</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2010-09-02" data-sort-value="2010-09-02">2 septembre 2010</time>)</small></span></span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> «&nbsp;<a rel="nofollow" class="external text" href="http://www.firebirdsql.org/file/documentation/reference_manuals/reference_material/html/langrefupd25-insert.html#langrefupd25-insert-returning"><cite style="font-style:normal;" lang="en">Firebird 2.5 Language Reference Update</cite></a>&nbsp;» <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2011-10-24" data-sort-value="2011-10-24">24 octobre 2011</time>)</small></span></span>
</li>
</ol></div>
</div>
<div class="navbox-container" style="clear:both;">

</div>
<ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail des bases de données</span> </span></li> </ul></div><!--htdig_noindex--><div><div class="zim-footer">
Cet article est issu de <a class="external text" title="Dernière modification le 2024-11-06" href="https://fr.wikipedia.org/wiki/?title=Insert_(SQL)&amp;oldid=220068221">Wikipédia</a>. Sauf mention contraire, le texte est disponible sous <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">Creative Commons Attribution-Share Alike 4.0</a>. Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>